package com.coffee.admin.api.platform.service;

import com.coffee.admin.api.platform.query.PlatformQuery;
import com.coffee.admin.api.platform.rep.PlatformOperateRes;
import com.coffee.admin.api.platform.req.PlatformAccountAddReq;
import com.coffee.admin.api.platform.req.PlatformAccountListReq;
import com.coffee.admin.api.platform.req.PlatformAccountUpdateReq;
import com.coffee.admin.api.platform.result.PlatformResult;
import com.coffee.core.entity.Page;
import com.coffee.core.entity.PagerInfo;
import com.coffee.core.exception.BusinessException;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface PlatformService {

    Page<PlatformResult> getPager(PlatformQuery param, PagerInfo pr);

    Integer count(PlatformQuery param);

    PlatformResult getDetail(Integer id);

    List<PlatformResult> getList(PlatformQuery param, PagerInfo pr);

    List<PlatformResult> getList(PlatformQuery param);

    List<PlatformResult> getList();

    void delete(Integer id) throws BusinessException;

    void addOrUpdate(PlatformResult result) throws BusinessException;

    Map<Integer, PlatformResult> getItemMap(Set<Integer> idSet);

    Map<Integer, PlatformResult> getItemMap();

    PlatformResult getPlatformService(PlatformResult result);

    Page<PlatformOperateRes> findMerchantOperatorListByPage(PlatformAccountListReq params, PagerInfo pagerInfo) throws BusinessException;

    PlatformOperateRes findMerchantOperatorDetail(PlatformAccountListReq params);

    void insertPlatformOperate(PlatformAccountAddReq params) throws BusinessException;

    void updatePlatformOperate(PlatformAccountUpdateReq params) throws BusinessException;

    void updateIsEnable(Integer platformId, String isEnable) throws BusinessException;
}